import operate from './operate.js'
const http = (options) => {
  return new Promise((resolve, reject) => {
    const token = uni.getStorageSync('token') || ''
    const baseUrl = operate.api()
    console.log('baseUrl: ', baseUrl)
    console.log('请求信息--->', options)

    // 显示loading
    uni.showLoading({
      title: '加载中...',
      mask: true
    })

    uni.request({
      url: baseUrl + options.url, //接口地址：前缀+方法中传入的地址
      method: options.method || 'GET', //请求方法：传入的方法或者默认是"GET"
      data: options.data || {}, //传递参数：传入的参数或者默认传递空集合
      header: {
        Authorization: token //自定义请求头信息
      },
      success: (res) => {
        // 隐藏loading
        uni.hideLoading()

        if (res.data.code !== 200) {
          //自定请求失败的情况
          uni.showToast({
            title: res.data?.msg || res.msg || '请求失败',
            icon: 'none'
          })
          reject(res.data)
        }
        console.log('成功返回--->', res)
        resolve(res.data) //成功
      },
      // 这里的接口请求，如果出现问题就输出接口请求失败
      fail: (err) => {
        // 隐藏loading
        uni.hideLoading()

        uni.showToast({
          title: err.msg || '接口异常',
          icon: 'none'
        })
        console.log('失败返回--->', err)
        reject(err)
      }
    })
  })
}
export default http
